UnityのVisualScriptingの話


概要

とりあえず触る機会があったのでつらつらと書いておく


超ざっくりいうと、レベルデザインとかをデザイナーさんにお願いするための機構。

なるほど思ってたんと違う。


プログラミングをしなくてもインタラクティブなAppを作れるもの

ではなく、スクリプトを可視化したもの。


これはスクリプティングによる構造化のエイリアスなんだな。Rxとか向いてるんでは?



タイプ

コンパイラに型情報を伝えるための情報。floatとかintとかstringとか。

UnityコンポーネントはぜんぶObjectタイプ。なるほど。



変数

コンテナ。名前 + タイプ + 値を持つ。実行時に変更される。


次の種類(スコープ)がある。


フロー変数

グラフ変数

オブジェクト変数

シーン変数

シーン内での共有変数


アプリケーション変数

シーン間を超えてアクセスできる変数。シーン間で利用可能。


保存された変数

Unityがserialize/deserializeしてくれる記録。


グラフ

ロジック = 資格化したスクリプトを視覚的に表したもの、論理の資格的表現


FlowとStateがある。

Flow

流れ作業を繰り返すやつ。


State

シーン全体の状態を管理する

状態遷移系。



マシン

グラフを再生するコンポーネント。

ScriptMachineとStateMachineの2種がある。


Embeded, Graph(?)

マシンに対してグラフを埋め込む(再利用しない)、

他の



グループ

グラフを整理するためのグループ。



所感

これはなんか追記するけど、

・Unity C#とは別に、UnityならではのLifeTime設計ができるツールキット ・内部記述はUnity C#でできる、コードの再利用テンプレート


という感じがしている。